home *** CD-ROM | disk | FTP | other *** search
/ 2,000 Greater & Lesser Mysteries / 2,000 Greater and Lesser Mysteries.iso / internet / mys01116.txt < prev    next >
Encoding:
Text File  |  1994-06-10  |  3.3 KB  |  116 lines

  1.        The MUF Cheat-Sheet, as seen by Sammael (Arthur, The., etc)
  2.                               -or-
  3.            Reference manual for MUCK Forth ("MUF")  -terse
  4.  
  5.                                                  v2.2 August 4, 1990
  6. ENTERING EDITING MODE
  7.     @prog <program name>    (creates a new program if none match)
  8.     @edit <program name or number>
  9.  
  10. EDITING COMMANDS
  11.     <number> i                insert before <number>
  12.     .                    exit insert mode
  13.     c                    compile
  14.     <number1> <number2> l            list
  15.     <number1> <number2> d            delete
  16.     <letter> <letter>   a            show macros (abridged)
  17.     <letter> <letter>   s            show macros (long)
  18.     <program#> v                view program header
  19.     h                    help on edit mode
  20.     u                    uncompile
  21.     q                    quit editor mode
  22.  
  23. PRIMITIVE TERMINOLOGY
  24.  
  25.     v                    type variable
  26.     d                    type dbref
  27.     i                    type int (boolean)
  28.     s                    type string
  29.     a                    type address (word)
  30.  
  31. SYNTAX
  32.  
  33.     ( ... )                    commments
  34.         :                    begin user-def word
  35.         ;                    end user-def word
  36.     var <VARNAME>                variable declaration
  37.  
  38.         if         ( i -- )
  39.     else        ( -- )
  40.         then         ( -- )
  41.         exit         ( -- )
  42.     execute        ( a -- ??? )
  43.     pop         ( x -- )
  44.     dup         ( x -- x x )
  45.     swap         ( x y -- y x )
  46.     over        ( x y -- x y x )
  47.     rot        ( x y z -- y z x )
  48.     rotate        ( ni ... n1 i -- n(i-1) ... n1 ni )
  49.     pick        ( ni ... n1 i -- n1 ni )
  50.     put        ( ni ... n1 x i -- x ... n1 )
  51.  
  52.         !        ( x v -- )        store value x in var v.
  53.                         value may be any type data
  54.         @         ( v -- x )        fetch value x from var v
  55.     atoi         ( s -- i )        string --> integer
  56.         intostr     ( i -- s )        integer || dbref --> string
  57.     dbref         ( i -- d )        integer --> dbref
  58.     int         ( x -- i )        VAR || object --> integer
  59.     variable     ( i -- v )        integer --> VAR ref
  60.  
  61.     + - * / %    ( i1 i2 -- i )       
  62.         < > = <= >=     ( i1 i2 -- i )
  63.     strcmp,
  64.            stringcmp    ( s1 s2 -- i )         strcmp == case sens.
  65.     strncmp        ( s1 s2 n -- i )    compares only n letters
  66.     number?     ( s -- i )
  67.     dbcmp        ( d1 d2 -- i )
  68.         and  or     ( i1 i2 -- i )
  69.         not         ( i -- i' )
  70.  
  71.     strlen        ( s -- i )
  72.     strcat         ( s1 s2 -- s )
  73.     instr        ( s1 s2 -- i )        finds string s2 within s1
  74.     strcut        ( s i -- s1 s2 )    cuts string at pos. i
  75.     explode     ( s1 s2 -- ... i )      s2 is the partition, len >0
  76.     subst         ( s1 s2 s3 -- s )    string, replacement, tobesub
  77.     pronoun_sub    ( d s -- s' )        does % subs a la osucc/ofail
  78.  
  79.     read         ( -- s )
  80.     notify         ( d s -- )        player, message 
  81.     notify_except     ( d1 d2 s -- )         place, player, message 
  82.         pennies     ( d -- i )
  83.     addpennies     ( d i -- )         player, pennies
  84.         random         ( -- i )
  85.  
  86.     getpropval     ( d s -- i )        zero if none
  87.     getpropstr     ( d s -- s )        "" if none
  88.     addprop     ( d s1 s2 i -- )    ignores i unless s2 is ""
  89.     remove_prop     ( d s -- )
  90.  
  91.     desc, name, succ,
  92.         fail, drop, osucc,
  93.         ofail, odrop:        ( d -- s )    retrieve message
  94.  
  95.     setname, setdesc,
  96.         setsucc, setfail,
  97.         setdrop, setosucc,
  98.         setofail:            ( d s -- )    set message
  99.  
  100.         player?, thing?,
  101.         room?, program?,
  102.     exit?, ok?:        ( d -- i )    boolean
  103.  
  104.     location         ( d -- d' )
  105.     owner            ( d -- d' )
  106.         moveto              ( d1 d2 -- )    moves d1 to d2
  107.     set             ( d s -- )    object, string (flag)
  108.     flag?            ( d s -- i )    object, string, boolean
  109.     call             ( d -- ??? )    call remote program
  110.     match             ( s -- d )    thing, dbref (#-1 = NOTHING,
  111.                         #-2 = AMBIGUOUS, #-3 = HOME)
  112.     rmatch            ( d s -- d )    object, thing, dbref           
  113.         copyobj         ( d -- d' )    returns dbref of new object
  114.     contents         ( d -- ... i )    returns stack of dbrefs and i
  115.  
  116.